/*!
 * \file serialize_hessian2.h
 *
 * \brief 共通定义
 *
 * All Rights Reserved Copyright (C) 2014 broada,Co.,Ltd.\n
 * 共通使用的宏和结构体
 *
 * \version 1.0
 * \author jikw
 * \date 2016/01/12
 *
 */

#ifndef __SERIALIZE_HESSIAN2_H_
#define __SERIALIZE_HESSIAN2_H_

#include "frlist.h"
#include "frbyte_buffer.h"
#include "frreport_comm.h"
#define ARRAY_LEN                            128

typedef struct __st_dubbo_info
{
    //map、list类型中表示个数
    int i_value_count;
    //链表头
    Frlist_header *p_lst_dubbo;
} hessian2_info;

//链表节点结构
typedef struct __st_dubbo_fields_list
{
    int i_count;
    char *p_fields_name;
} hessian2_fields_list;

int serialize_hessian2_readobject(Frbyte_Packet *p_packet, Frreport_body_data *p_st_body_data, char *p_name, hessian2_info *p_st_info);
int serialize_hessian2_readcall(Frbyte_Packet *p_packet, Frreport_body_data *p_st_body_data, char *p_name);
int serialize_hessian2_readcall1(Frbyte_Packet *p_packet);
int serialize_hessian2_readreply(Frbyte_Packet *p_packet, Frreport_body_data *p_st_body_data, char *p_name);
int frhessian2_resp_read(Frbyte_Packet *p_packet, Frreport_body_data *p_st_body_data, char *p_name);

#endif
